function Vue(options){
    //调用Vue实例上的方法_init进行初始化
    this._init(options);
}
Vue.prototype._init = function(options){
    //el是渲染的元素的选择器,data是模型数据,template要渲染的模板
    //核心流程是把模板变成真实DOM，替换掉el选择器对应的DOM元素
    const {el,data,template} =options;
    const app= document.querySelector(el);//#app
    const html =template.replace(/{{(\w+)}}/g,function(_,key){
        return data[key];//hello
    });
    //把模板变成真正的DOM元素并且赋值给this.$el
    this.$el = getDOMFromString(html);
    //把要替换的app替换成真实DOM
    document.body.replaceChild(this.$el,app);
}
function getDOMFromString(htmlString){
    let div = document.createElement('div');
    div.innerHTML=htmlString;
    return div.firstElementChild;
}